package JavaCore;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/*
 * 내용: Instance Class Test
 * 작성일: 14-04-17
 * 1) Jframe 상속받으시오.
 * 2) 필드에 jButton을 btn1, btn2로 추가
 * 3) 생성자안에서
 *    -btn1,btn2를 생성
 *    -JFrame의 타이틀을 "Instance Class Test"로 지정
 *    -JFrame의 setLayout()을 사용하여  배치관리자를 null로 지정
 * 4) btn1의 좌표와 크기를 (100,50,90,30) 로 지정
 * 5) btn2의 좌표와 크기를 (300,50,90,30) 로 지정
 * 6) Jframe에 btn1 btn2을 추가(add) 하시오.
 */

public class InstanceClassTest2 extends JFrame {

	JButton btn1;
	JButton btn2;

	public InstanceClassTest2() {
		btn1 = new JButton("버튼1");
		btn2 = new JButton("버튼2");

		this.setTitle("Instance Class Test");
		this.setLayout(null); // Absolute Layout
		btn1.setBounds(100, 50, 90, 30); // 버튼 1의 크기
		btn2.setBounds(300, 50, 90, 30); // 버튼 2의 크기

		this.add(btn1); // JFrame에 btn1 추가
		this.add(btn2);

		Event event = new Event(btn1, btn2);
		// 버튼에 이벤트 핸들러 추가
		btn1.addActionListener(event);
		btn2.addActionListener(event);

	}

	class Event implements ActionListener {
		JButton btn1, btn2;
		public Event(JButton b1, JButton b2){
			this.btn1 = b1;
			this.btn2 = b2;
		}

		@Override
		public void actionPerformed(ActionEvent e) {
			if (e.getSource() == btn1) {

				JOptionPane.showMessageDialog(null, "버튼1이 클릭됨...");
				btn2.setText("Button 2");
			} else if (e.getSource() == btn2) {
				JOptionPane.showMessageDialog(null, "버튼2가 클릭됨...");
				btn2.setText("Button 1");

			}

		}

	}

	public static void main(String[] args) {
		InstanceClassTest2 i2 = new InstanceClassTest2();
		i2.setBounds(300, 200, 500, 300); // 프레임의 위치 출력
		i2.setVisible(true); // 보이게 함

	}
}
